Προγραμματισμός II

Κωδικός μαθήματος
προ-2
Μονάδες ECTS
6
Εξάμηνο
Εξάμηνο Β
Κατηγορία μαθήματος
Κατεύθυνση
Κορμού
Περιγραφή μαθήματος
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Περιεχόμενα: Δείκτες και αριθμητική δεικτών. Πέρασμα παραμέτρων κατ’ αξία και κατ’ αναφορά, δείκτες σε συναρτήσεις. Δυναμική διαχείριση μνήμης. Δομές (structs), πίνακες με δομές. Απλές δομές δεδομένων (απλά και διπλά συνδεδεμένες λίστες, κυκλικές λίστες, ουρές, στοίβες) και συναρτήσεις χειρισμού τους. Αποσφαλμάτωση. Αναδρομή. Χειρισμός χαρακτήρων και συμβολοσειρών. Παραγωγή ψευδοτυχαίων αριθμών. Ορίσματα γραμμής εντολών. Πράξεις κατά bit και δομή bitmap. Χειρισμός αρχείων κειμένου και δυαδικών αρχείων. Αρθρωτός προγραμματισμός – βιβλιοθήκες. Ο προεπεξεργαστής της C. Χρήσιμες εφαρμογές (makefile, profiling, κ.ά.). Εισαγωγή στο διαδικτυακό προγραμματισμό με χρήση sockets.

ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Στο τέλος του μαθήματος ο φοιτητής θα μπορεί να:

  • σχεδιάζει την αλγοριθμική λύση απαιτητικών προβλημάτων
  • επιλύει προβλήματα χρησιμοποιώντας προχωρημένες έννοιες της γλώσσας C όπως οι σύνθετοι τύποι δεδομένων, η επικοινωνία με τα κανάλια εισόδου – εξόδου, η άμεση πρόσβαση στη μνήμη μέσω των δεικτών, ο αρθρωτός προγραμματισμός, κ.ά.
  • υλοποιεί ολοκληρωμένα προγράμματα χρησιμοποιώντας ως μέσο τη γλώσσα C
  • περιγράφει εναλλακτικούς αλγορίθμους και να έχει αναπτύξει αλγοριθμική σκέψη ώστε να είναι προετοιμασμένος για άλλες γλώσσες και μοντέλα προγραμματισμού.
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Αξιολόγηση: Προγραμματιστικές εργασίες (ενδέχεται να συνοδεύονται από προσωπική εξέταση) ή/και ασκήσεις κατανόησης της ύλης, και 3ωρη γραπτή εξέταση. Οι εργασίες και οι ασκήσεις θα έχουν συνολικό βάρος 50% στον τελικό βαθμό, όπως και η τελική γραπτή εξέταση. Τα ποσοστά αυτά μπορεί να διαφοροποιούνται (μέχρι +/-10%) από έτος σε έτος. Για την επιτυχία ενός φοιτητή στο μάθημα απαιτείται προβιβάσιμος βαθμός (πέντε ή μεγαλύτερος) στην τελική γραπτή εξέταση καθώς και στον τελικό βαθμό όπως αυτός προκύπτει από τα εκάστοτε ποσοστά.

Μέθοδοι αξιολόγησης: Ερωτήσεις σύντομης απάντησης, Επίλυση προβλημάτων, Έκθεση / Αναφορά, Προφορική εξέταση.

URL ΜΑΘΗΜΑΤΟΣ ΣΤΟ ECLASS

https://eclass.uop.gr/courses/813/

ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

Βιβλιογραφία: 

  1. B. Kernighan. D. Ritchie, Η Γλώσσα Προγραμματισμού C, 2η έκδοση, Κλειδάριθμος, 2008. Κωδικός στον Εύδοξο: 13956
  2. E. Roberts, Η Τέχνη και Επιστήμη της C: Μία Εισαγωγή στην Επιστήμη των Υπολογιστών, 1η έκδοση, Κλειδάριθμος, 2004. Κωδικός στον Εύδοξο: 13767
  3. Ν.Μ. Χατζηγιαννάκης, Η γλώσσα C σε βάθος, 5η έκδοση, Κλειδάριθμος, 2017. Κωδικός στον Εύδοξο: 68384925
  4. Γ. Σ. Τσελίκης, Ν. Δ. Τσελίκας, C: Aπό τη Θεωρία στην Εφαρμογή, 4η έκδοση, 2023. ISBN: 9786188676206. Κωδικός στον Εύδοξο: 122079784
  5.  J.R. Hanly, E.B. Koffman, Αρχές και τεχνικές προγραμματισμού με τη γλώσσα C, 1η έκδοση, Κριτική, 2021. ISBN: 9789605863777. Κωδικός στον Εύδοξο: 102071593